package com.dbf.forum.service.produit;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;

import com.dbf.forum.common.service.CommonServiceImpl;
import com.dbf.forum.core.produit.Produit;
import com.dbf.forum.core.produit.ProduitDto;

@Service(value="produitService")
public class ProduitServiceImpl extends CommonServiceImpl implements ProduitService{
	
	public Page<ProduitDto> getAllProduits(Pageable page){
		List<Produit> produits = getAllEntities(Produit.class);
		Page<Produit>  pageableProduits = new PageImpl<Produit>(produits, page, produits.size());
		
		Authentication auth = SecurityContextHolder.getContext().getAuthentication();
	      String name = auth.getName(); //get logged in username
		return this.mapPage(pageableProduits, ProduitDto.class);
	}

}
